package tech.aistar.day01;

/**
 * 本类用来演示: 方法的调用 - 细节
 *
 * @author: success
 * @date: 2022/7/18 3:40 下午
 */
public class MethodInvoke {
    public static void main(String[] args) {
        MethodInvoke m = new MethodInvoke();
        System.out.println(m);//内存地址
        m.test01();

        test03();

    }

    //静态的
    public static void test03(){
        //静态方法中只能直接调用静态方法

        //必须通过对象去调用
        new MethodInvoke().test01();//error
        System.out.println("test03");
    }

    //非静态的
    public void test01(){
        //非静态的方法中是可以直接调用非静态的/静态的
        System.out.println(this);

        //省略了this关键字 - this - 当前对象 - 调用该方法的对象
        test02();//ok
        //this.test02();//ok

        //原因:因为静态的东西已经存在了!
        test03();//ok
        System.out.println("test01");
    }

    //非静态的
    public void test02(){

        System.out.println("test02");
    }
}
